import java.util.Arrays;

/**
 * @作者 zxy
 * @时间 2023-04-19 11:16
 * @说明 976. 三角形的最大周长
 * 给定由一些正数（代表长度）组成的数组 nums ，返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形，返回 0。
 * 示例 1：
 * 输入：nums = [2,1,2]
 * 输出：5
 * 解释：你可以用三个边长组成一个三角形:1 2 2。
 */
public class Solution {
    /**
     * 执行用时：8 ms, 在所有 Java 提交中击败了98.53%的用户
     * 内存消耗：42 MB, 在所有 Java 提交中击败了 16.49% 的用户
     * @param nums
     * @return
     */
    public int largestPerimeter(int[] nums) {
        Arrays.sort(nums);
        for (int i = nums.length - 1; i >= 2; i--) {
            if (nums[i] < nums[i - 1] + nums[i - 2]) {
                return nums[i] + nums[i - 1] + nums[i - 2];
            }
        }
        return 0;
    }
}
